Warning: mkdir(): No space left on device in /var/www/tg-me/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/pyproglib/--): Failed to open stream: No such file or directory in /var/www/tg-me/post.php on line 50
Библиотека питониста | Python, Django, Flask | Telegram Webview: pyproglib/6684 -
Telegram Group & Telegram Channel
🔰 Модуль enum: обзор

Модуль enum в Python используется для создания перечислений — объектов, которые упрощают работу с группами связанных константных значений. Это полезно для удобного различия значений без привязки к их конкретным значениям, например, при работе с параметрами конфигурации.

🟠 Создание перечислений с Enum и auto

Перечисления позволяют избежать ошибок с опечатками и делают код более читаемым.

Пример с конкретными значениями:
from enum import Enum

class TempUnit(Enum):
CELSIUS = "celsius"
FAHRENHEIT = "fahrenheit"

def get_temperature(city, unit):
return 18.0 if unit == TempUnit.CELSIUS else 64.4

print(get_temperature("Lisbon", TempUnit.CELSIUS)) # 18.0


Перечисления упрощают работу с значениями:
print(TempUnit.CELSIUS.name)  # CELSIUS
print(TempUnit.CELSIUS.value) # celsius


Для целочисленных значений можно использовать auto() для автоматической нумерации:
from enum import Enum, auto

class Weekday(Enum):
SUNDAY = auto()
MONDAY = auto()
TUESDAY = auto()
WEDNESDAY = auto()
THURSDAY = auto()
FRIDAY = auto()
SATURDAY = auto()


🟠 Строковые перечисления

Для строковых значений можно использовать StrEnum:
from enum import StrEnum

class TempUnit(StrEnum):
CELSIUS = "celsius"
FAHRENHEIT = "fahrenheit"

print(TempUnit.CELSIUS.capitalize()) # Celsius


Автоматическая строковая нумерация:
from enum import StrEnum, auto

class TempUnit(StrEnum):
CELSIUS = auto()
FAHRENHEIT = auto()

assert TempUnit.CELSIUS.value == "celsius"


🟠 Специализированные типы перечислений

Целочисленные перечисления с IntEnum:
from enum import IntEnum

class SomeIntegers(IntEnum):
ONE = 1
TWO = 2
THREE = 3

print(SomeIntegers.TWO + 1) # 3


Флаги с Flag для комбинирования флагов:
from enum import Flag, auto

class NotificationMethod(Flag):
IN_APP = auto()
PUSH = auto()
EMAIL = auto()
SMS = auto()

user_settings = NotificationMethod.IN_APP | NotificationMethod.PUSH
print(user_settings) # <NotificationMethod.IN_APP|PUSH: 3>


🟠 Утилиты для удобной работы с перечислениями

Проверка уникальности значений с помощью декоратора @unique:
from enum import Enum, unique

@unique
class EnumWithAliases(Enum):
ONE = 1
TWO = 2
THREE = 3
UNO = 1 # Ошибка, дублирующее значение


Проверка непрерывности значений с помощью декоратора @verify(CONTINUOUS):
from enum import Enum, verify, CONTINUOUS

@verify(CONTINUOUS)
class Nums(Enum):
THREE = 3
FOUR = 4
FIVE = 5
SIX = 6

@verify(CONTINUOUS)
class NumsHole(Enum):
THREE = 3
FOUR = 4
SIX = 6 # Ошибка, отсутствует 5


Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/pyproglib/6684
Create:
Last Update:

🔰 Модуль enum: обзор

Модуль enum в Python используется для создания перечислений — объектов, которые упрощают работу с группами связанных константных значений. Это полезно для удобного различия значений без привязки к их конкретным значениям, например, при работе с параметрами конфигурации.

🟠 Создание перечислений с Enum и auto

Перечисления позволяют избежать ошибок с опечатками и делают код более читаемым.

Пример с конкретными значениями:

from enum import Enum

class TempUnit(Enum):
CELSIUS = "celsius"
FAHRENHEIT = "fahrenheit"

def get_temperature(city, unit):
return 18.0 if unit == TempUnit.CELSIUS else 64.4

print(get_temperature("Lisbon", TempUnit.CELSIUS)) # 18.0


Перечисления упрощают работу с значениями:
print(TempUnit.CELSIUS.name)  # CELSIUS
print(TempUnit.CELSIUS.value) # celsius


Для целочисленных значений можно использовать auto() для автоматической нумерации:
from enum import Enum, auto

class Weekday(Enum):
SUNDAY = auto()
MONDAY = auto()
TUESDAY = auto()
WEDNESDAY = auto()
THURSDAY = auto()
FRIDAY = auto()
SATURDAY = auto()


🟠 Строковые перечисления

Для строковых значений можно использовать StrEnum:
from enum import StrEnum

class TempUnit(StrEnum):
CELSIUS = "celsius"
FAHRENHEIT = "fahrenheit"

print(TempUnit.CELSIUS.capitalize()) # Celsius


Автоматическая строковая нумерация:
from enum import StrEnum, auto

class TempUnit(StrEnum):
CELSIUS = auto()
FAHRENHEIT = auto()

assert TempUnit.CELSIUS.value == "celsius"


🟠 Специализированные типы перечислений

Целочисленные перечисления с IntEnum:
from enum import IntEnum

class SomeIntegers(IntEnum):
ONE = 1
TWO = 2
THREE = 3

print(SomeIntegers.TWO + 1) # 3


Флаги с Flag для комбинирования флагов:
from enum import Flag, auto

class NotificationMethod(Flag):
IN_APP = auto()
PUSH = auto()
EMAIL = auto()
SMS = auto()

user_settings = NotificationMethod.IN_APP | NotificationMethod.PUSH
print(user_settings) # <NotificationMethod.IN_APP|PUSH: 3>


🟠 Утилиты для удобной работы с перечислениями

Проверка уникальности значений с помощью декоратора @unique:
from enum import Enum, unique

@unique
class EnumWithAliases(Enum):
ONE = 1
TWO = 2
THREE = 3
UNO = 1 # Ошибка, дублирующее значение


Проверка непрерывности значений с помощью декоратора @verify(CONTINUOUS):
from enum import Enum, verify, CONTINUOUS

@verify(CONTINUOUS)
class Nums(Enum):
THREE = 3
FOUR = 4
FIVE = 5
SIX = 6

@verify(CONTINUOUS)
class NumsHole(Enum):
THREE = 3
FOUR = 4
SIX = 6 # Ошибка, отсутствует 5


Библиотека питониста #буст

BY Библиотека питониста | Python, Django, Flask


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/pyproglib/6684

View MORE
Open in Telegram


Библиотека питониста | Python Django Flask Telegram | DID YOU KNOW?

Date: |

The SSE was the first modern stock exchange to open in China, with trading commencing in 1990. It has now grown to become the largest stock exchange in Asia and the third-largest in the world by market capitalization, which stood at RMB 50.6 trillion (US$7.8 trillion) as of September 2021. Stocks (both A-shares and B-shares), bonds, funds, and derivatives are traded on the exchange. The SEE has two trading boards, the Main Board and the Science and Technology Innovation Board, the latter more commonly known as the STAR Market. The Main Board mainly hosts large, well-established Chinese companies and lists both A-shares and B-shares.

Dump Scam in Leaked Telegram Chat

A leaked Telegram discussion by 50 so-called crypto influencers has exposed the extraordinary steps they take in order to profit on the back off unsuspecting defi investors. According to a leaked screenshot of the chat, an elaborate plan to defraud defi investors using the worthless “$Few” tokens had been hatched. $Few tokens would be airdropped to some of the influencers who in turn promoted these to unsuspecting followers on Twitter.

Библиотека питониста | Python Django Flask from de


Telegram Библиотека питониста | Python, Django, Flask
FROM USA